From 51142eb0119b98923dbaeea3afe343a36ed06539 Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Tue, 21 Feb 2006 18:19:16 +0100 Subject: [PATCH] No need for save_segments() on HVM 64b guest. Signed-off-by: Yunhong Jiang Signed-off-by: Xin Li --- xen/arch/x86/domain.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index 72aab861bb..4731ea9a06 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -610,9 +610,6 @@ static void save_segments(struct vcpu *v) struct cpu_user_regs *regs = &ctxt->user_regs; unsigned int dirty_segment_mask = 0; - if ( HVM_DOMAIN(v) ) - hvm_save_segments(v); - regs->ds = read_segment_register(ds); regs->es = read_segment_register(es); regs->fs = read_segment_register(fs); @@ -682,9 +679,15 @@ static void __context_switch(void) stack_regs, CTXT_SWITCH_STACK_BYTES); unlazy_fpu(p); - save_segments(p); - if ( HVM_DOMAIN(p) ) + if ( !HVM_DOMAIN(p) ) + { + save_segments(p); + } + else + { + hvm_save_segments(v); hvm_load_msrs(); + } } if ( !is_idle_vcpu(n) ) -- 2.30.2